package ws;

import java.util.ArrayList;
import java.util.Collection;
import org.orm.PersistentException;
import soapvo.TipoSocioeconomicoSOAPVO;

import com.google.gson.Gson;

public class TipoSocioeconomicoSOA {

	public TipoSocioeconomicoSOA () {}
	
	public String getTodosLosNivelesSE () throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_socio_eco[] tipos;

		tipos = factory.getTrp_socio_ecoDAO().listTrp_socio_ecoByQuery(null, null);
		return buscar(tipos);
	}
	
	public String getNivelSocioEconomicoId (String so_id_socio_e) throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_socio_eco[] objeto;

		objeto = factory.getTrp_socio_ecoDAO().listTrp_socio_ecoByQuery("so_id_socio_e = '" + so_id_socio_e + "'", null);
		return buscar(objeto);
	}
	
	public String getNivelSocioEconomicoNombre (String so_des_socio_e) throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_socio_eco[] objeto;

		objeto = factory.getTrp_socio_ecoDAO().listTrp_socio_ecoByQuery("so_des_socio_e= '" + so_des_socio_e + "'", null);
		return buscar(objeto);
	}
	
	private String buscar(orm.Trp_socio_eco[] arreglo) {

		String mensaje="";
		int largo=0;	
		Collection<TipoSocioeconomicoSOAPVO> coleccionSoapvo = new ArrayList<TipoSocioeconomicoSOAPVO>();
		largo = arreglo.length;

		if(largo>0){

			for(int i=0;i<largo;i++) {
				TipoSocioeconomicoSOAPVO objeto = TipoSocioeconomicoSOAPVO.crearSOAPVO(arreglo[i]);
				coleccionSoapvo.add(objeto);
			}		
			Gson gson = new Gson();
			mensaje = gson.toJson(coleccionSoapvo);

		} else mensaje = "No existen registros;";

		return mensaje;
	}
	
	
}
